The present invention relates to data storage systems, and more specifically, this invention relates to maintaining performance in data storage drives of a data storage system.
Redundant array of independent disks (RAID) is a data storage approach that combines multiple storage drives into a single logical unit for increasing performance and/or data reliability. RAID technology functions by placing data on multiple disks and allowing input/output (I/O) operations to overlap in a balanced way, thereby improving performance. Disk striping is the process of dividing a body of data into blocks and spreading the data blocks across the multiple disks. A stripe is made up of the data divided across the multiple disks, and a striped unit (or strip) which refers to the data slice on an individual drive. Because the use of multiple disks increases the mean time between failures, storing data redundantly also increases fault tolerance. Thus, while not all RAID levels (e.g., formats) provide redundancy, RAID technology offers a way to store the same data in different places on multiple hard disks to protect the data in the event of a drive failure.
While RAID levels (e.g., RAID, 5, 6, etc.) as well as individual storage units themselves (spinning disk, solid state drives, flash, etc.) have been improved over time, the overall RAID architecture intent has remained the same in conventional products. Specifically, in order to achieve some data redundancy within RAID technology, conventional products have striped data across drives and then copied back the striped data to a new drive in the event of a storage failure. As long as these conventional products are able to complete such copy processes following a failure without any additional errors occurring, no issues arise. However, in the event that a copy process has not been completed before another storage failure occurs, the chances of experiencing a system crash increase significantly.
Moreover, while performing a copy process following a storage failure event in a conventional product, the speed at which the copy process may be performed is predominantly determined by the pace at which the new drive can write the data received. As a result, the exposure that conventional products have to experiencing system crashes and resulting data loss occurs during the time spent completing the writing during a copy process.